package com.zatech.cgnci.project.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
@ApiModel(description = "理赔案件详情VO")
public class CgnciClaimCaseVO implements Serializable {

    @ApiModelProperty("案件ID")
    private Long caseId;

    @ApiModelProperty("任务号")
    private String taskNo;

    @ApiModelProperty("任务类型")
    private String taskType;

    @ApiModelProperty("任务状态")
    private String taskStatus;

    @ApiModelProperty("立案号")
    private String caseNo;

    @ApiModelProperty("案件名称")
    private String caseName;

    @ApiModelProperty("保单号")
    private String policyNo;

    @ApiModelProperty("项目名称")
    private String projectName;

    @ApiModelProperty("项目编号")
    private String projectNo;

    @ApiModelProperty("案件状态")
    private String caseStatus;

    @ApiModelProperty("是否巨灾案件")
    private Boolean isCatastrophe;

    @ApiModelProperty("巨灾名称")
    private String catastropheName;

    @ApiModelProperty("出险日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date accidentDate;

    @ApiModelProperty("出险日期止期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date accidentEndDate;

    @ApiModelProperty("出险原因")
    private String accidentReason;

    @ApiModelProperty("通知日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date notifyDate;

    @ApiModelProperty("立案日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date registerDate;

    @ApiModelProperty("报损金额")
    private BigDecimal reportAmount;

    @ApiModelProperty("报损金额币种")
    private String reportCurrency;

    @ApiModelProperty("初步立案金额")
    private BigDecimal estimateAmount;

    @ApiModelProperty("初步立案金额币种")
    private String estimateCurrency;

    @ApiModelProperty("摊赔金额币种")
    private String compensationCurrency;

    @ApiModelProperty("公估费")
    private BigDecimal estimationAmount;

    @ApiModelProperty("摊赔金额")
    private BigDecimal compensationAmount;

    @ApiModelProperty("总计金额")
    private BigDecimal totalAmount;

    @ApiModelProperty("赔案情况简介")
    private String claimDesc;

    @ApiModelProperty("适用免赔额说明")
    private String deductibleDesc;

    @ApiModelProperty("备注")
    private String remarks;

    @ApiModelProperty(value = "流程id")
    private Long approvalInfoId;

    @ApiModelProperty("原始币种")
    private String originalCurrency;

    @ApiModelProperty("结算币种")
    private String settlementCurrency;

    @ApiModelProperty("联络人姓名")
    private String contactName;

    @ApiModelProperty("联络人电话")
    private String contactPhone;

    @ApiModelProperty("联络人邮箱")
    private String contactEmail;
    @ApiModelProperty(value = "理赔关联保单信息")
    private CgnciClaimPolicyVO claimPolicy;

    @ApiModelProperty(value = "文件list")
    private List<CgnciAccessoryVO> accessoryList;

    /**
     * 风险信息列表
     */
    @ApiModelProperty(value = "风险信息列表", hidden = true)
    @Deprecated
    private List<CgnciClaimAlertInfoVO> alertInfos;
    @ApiModelProperty("准备金任务详情")
    private CgnciClaimReserveVO reserveVO;

    @ApiModelProperty("重开任务信息")
    private ClaimReopenVO claimReopen;

    @ApiModelProperty("关联的结算信息")
    private List<CgnciClaimSettlementVO> settlements;

} 